package com.xm.component.easyexport;

import java.util.List;

/**
 * @param <E> E 表示page所包含的数据的泛型
 * @param <T> T 表示 page
 * @param <R> R 表示导出模型数据的泛型
 */
public abstract class AbsDefaultPageConverter<E, T, R> implements PageConverter<T, R> {
    final DefaultListConverter<E, R> defaultListConverter = new DefaultListConverter<>();

    @Override
    public List<R> convert(Class<R> modelClass, T t) {
        return defaultListConverter.convert(modelClass, convertToList(t));
    }

    public abstract List<E> convertToList(T t);
}
